package com.sky.dto;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * SKU满减优惠信息数据传输对象
 * 该类用于封装SKU的满减优惠规则，包括满件优惠和满额优惠相关信息。
 * 实现Serializable接口，以便于对象的序列化和反序列化。
 */
@Data
public class SkuReductionDTO implements Serializable {

    /**
     * sku_id
     */
    private Long skuId;
    /**
     * 满件数，用于满件打折活动
     * 表示当购买的商品件数达到此值时，可以享受折扣优惠。
     */
    private Integer fullCount;

    /**
     * 折扣率，用于满件打折活动
     * 表示满件后商品的折扣比例，例如0.8表示8折。
     */
    private Integer discount;

    /**
     * 满件状态，用于标识满件打折活动是否启用
     * 1表示启用，0表示不启用。
     */
    private int countStatus;

    /**
     * 满额，用于满额打折活动
     * 表示当购买的商品总金额达到此值时，可以享受折扣优惠。
     */
    private BigDecimal fullPrice;

    /**
     * 折扣金额，用于满额打折活动
     * 表示满额后商品可享受的折扣金额。
     */
    private BigDecimal reducePrice;

    /**
     * 满额状态，用于标识满额打折活动是否启用
     * 1表示启用，0表示不启用。
     */
    private int priceStatus;

    /**
     * 会员价格列表，用于存储不同会员等级的优惠价格信息
     * 会员价格通常根据会员等级提供不同的折扣或优惠。
     */
    private List<MemberPriceDTO> memberPrice;
}
